// 接口接口
// TypeScript的核心原则之一是对值所具有的结构进行类型检查。
// 在TypeScript里，接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。


// 对象结构
interface Person {
	// 必须属性
	name: string
	// 可选属性
	age?: number
	// 只读属性
	readonly sex: string
	// 额外属性
	[propName: string]: any
}

const p: Person = {
	name: '张三',
	// sex 属性 可以有也可以没有
	sex: '男',
	age: 18
}

p.name = '小四'
// 只读属性不允许修改
// p.sex = '女'

p.qwe = 1231
p.fs = function () {}
p.hhhh = 'sdfsefw '